//1103. 分糖果 II
// 思路：本质难在轮转所有小朋友，这里可以用i++代表每一个小朋友
// i % num_people就可以实现轮转所有小朋友

#include <vector>
#include <algorithm>
using namespace std;

class Solution
{
public:
    vector<int> distributeCandies(int candies, int num_people)
    {
        vector<int> ret(num_people, 0);
        int i = 0;
        while(candies)
        {
            ret[i % num_people] += min(candies, i + 1);// 处理剩余不足i+1个糖果的情况
            candies -= min(candies, i + 1);
            i++;
        }
        return ret;
    }
};